package com.bnz.exception;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;



/**
 * 类名：
 * 作者：WF
 * 功能：全局异常处理
 */
@ControllerAdvice
public class MyExceptionHandler  {

	//1. 处理特殊异常
	@ExceptionHandler({MyException.class})        // 下面的方法的定义与控制器方法的定义一致
	public String abc(Model model, Exception ex) {
		//1.1 定义异常信息
		String message = "";
		if(ex instanceof MyException){
			message = ex.getMessage();
		}
		//1.2 将异常信息放到model中
		model.addAttribute("message",message);
		//1.3 返回逻辑视图
		return "error/errorView";
	}
	//2. 处理一般异常
	@ExceptionHandler(Exception.class)        // 下面的方法的定义与控制器方法的定义一致
	public String xxx(Model model, Exception ex) {
		ex.printStackTrace();
		model.addAttribute("message","出现了未知异常！");
		//1.3 返回逻辑视图
		return "error/errorView";
	}

}
